<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <meta name="Page-topic" content="ST-Open Tutorial: Systemspeicher" />
 <meta name="Description" content="ST-Open Tutorial: Systemspeicher" />
 <meta name="Keywords" content="ST-Open Weichwaren, Open Quelle, ST-Open, Weichwaren, Bibliothek, Bibliotheken, freie Weichwaren, Assembler, C" />
 <meta name="date" content="2012-02-22T00:00:00+00:00" />
 <meta name="robots" content="index,follow" />
 <meta name="revisit-after" content="14 days" />
 <meta name="generator" content="Bernhard Schornak, handwritten" />
 <style type="text/css"><!--@import "../../st.css";--></style>
 <link rel="SHORTCUT ICON" href="../../../../pics/favicon.ico" />
 <title>Systemspeicher</title>
</head>
<body id="top">
<div class="pagehd">
<div id="menu">
<ul>
 <li><a href="../../../index.htm">Weichwaren</a></li>
 <li><a href="../tut/index.htm">Tutorials</a></li>
 <li><a href="../index.htm">Dokumentation</a></li>
 <li><a href="../alp.htm">alphabetisch</a></li>
 <li><a href="../fct.htm">nach Funktion</a></li>
</ul>
</div>
<div class="update">[2012-02-22]</div>
<div class="headpc"><img src="../../pics/ste.png" alt="QuelleDoc Logo" width="75" height="75" border="0" /></div>
</div>
<div class="crlf1"></div>
&#160;&#160;&#160;<a href="index.htm"><img src="../../../../pics/nav_up.png" alt="aufw&auml;rts" width="20" height="20" border="0" title="aufw&auml;rts" /></a>
&#160;&#160;&#160;<a href="0103.htm"><img src="../../../../pics/nav_bk.png" alt="zur&uuml;ck" width="20" height="20" border="0" title="zur&uuml;ck" /></a>
&#160;&#160;&#160;<a href="0300.htm"><img src="../../../../pics/nav_fw.png" alt="vorw&auml;rts" width="20" height="20" border="0" title="vorw&auml;rts" /></a>
&#160;&#160;&#160;<a href="FFFF.htm">Glossar</a>
<div class="crlf1"></div>
<div class="text100">
<h1>Systemspeicher</h1>
Das System ben&ouml;tigt f&uuml;r seine Tabellen, Puffer und Variablen insgesamt sechs
 Speicherseiten zu jeweils 4.096 Byte. Die Seiten mit globalen Variablen sind in diesem
 Wert bereits enthalten.
<div class="crlf1"></div>
<h2>Die Ladertabelle (LDT)</h2>
Die Ladertabelle LDT - nicht mit der lokalen Deskriptorentabelle der CPU zu verwechseln! -
 enth&auml;lt 2.048 Eintr&auml;ge mit jeweils acht Doppelworten (32 Byte). Die Ladertabelle
 kann bei Bedarf nach Belieben erweitert werden. Jeder Eintrag in der Tabelle enth&auml;lt
 Verwaltungsdaten eines allozierten Speicherblocks, momentan ungenutzte Eintr&auml;ge sind
 mit Nullwerten aufgef&uuml;llt:
<div class="crlf1"></div>
<table width="100%">
<tr><th width="25%">.0</th><th width="25%">.4</th><th width="25%">.8</a></th><th width="25%">.C</th></tr>
<tr><td colspan="2">Adresse</td><td><a href="0103.htm">Status</a></td><td>Instanzen</td></tr>
<tr><td>allozierte Gr&ouml;sse</td><td>Feldgr&ouml;sse</td><td>Feldnummer</td><td>Anzahl Eintr&auml;ge</td></tr>
</table>
<div class="crlf1"></div>
Die Adressen, ab denen die Eintr&auml;ge mit den Verwaltungsdaten abgelegt sind, werden im
 ST-Open Vokabular als Speicherhenkel (MemHandle) bezeichnet. Beachten Sie bitte, dass
 Speicherhenkel als Vierfachworte deklariert werden, um C+*.net-Programmierern die Arbeit
 mit ihrem C+*.net-Kompilierer etwas zu erleichtern. Sehen Sie bitte von mathematischen
 Operationen mit Speicherhenkeln ab, da das zu unvorhergesehenen Reaktionen f&uuml;hren
 kann (von denen ein Systemabsturz vielleicht das geringste aller &Uuml;bel darstellen mag).
 N&auml;heres zum Umgang mit dem Lader finden Sie im Tutorial
 <a href="0400.htm">Speicherverwaltung</a>.
<div class="crlf1"></div>
<h2>Systemvariablen, Tabellen und Puffer</h2>
Der Systemspeicherblock (BNR/DVAR/QVAR) ist ab Version 8.1.0. neu organisiert, daher stehen
 9.216 zus&auml;tzliche Anwendervariablen zur Verf&uuml;gung. Der Aufbau ist wie folgt:
<div class="crlf2"></div>
In <i>FFFFFFFE</i> gespeichert:
<div class="crlf1"></div>
<div class="inner">&nbsp;&nbsp;128 Systemvariablen</div><div class="outer">0x0000 - 0x01FF</div><div class="crlf0"></div>
<div class="inner">1.920 Anwendervariablen</div><div class="outer">0x0200 - 0x1FFF</div><div class="crlf0"></div>
<div class="inner">Umwandlungstabellen</div><div class="outer">0x2000 - 0x3FFF</div><div class="crlf0"></div>
<div class="inner">System-Arbeitsbereich</div><div class="outer">0x4000 - 0x77FF</div><div class="crlf0"></div>
<div class="crlf1"></div>
Bei Programmende <b>nicht</b> gespeicherte Laufzeitvariablen:
<div class="crlf1"></div>
<div class="inner">2.048 Byte Systemspeicher</div><div class="outer">0x7800 - 0x7FFF</div><div class="crlf0"></div>
<div class="inner">8.192 Anwendervariablen</div><div class="outer">0x8000 - 0xFFFF</div><div class="crlf0"></div>
<div class="crlf2"></div>
Auf die Systembereiche sollten Sie ausschliesslich lesend zugreifen, da die Stabilit&auml;t
 des gesamten Systems von der Integrit&auml;t der dort abgelegten Daten abh&auml;ngt.
<div class="crlf1"></div>
Die letzte der acht Umwandlungstabellen (0x3E00-0x3FFF) ist f&uuml;r Anwender freigegeben.
 Alle anderen Umwandlungstabellen sollten Sie im urspr&uuml;nglichen Zustand belassen, da
 einige Funktionen der Bibliotheken sie zur ordnungsgem&auml;ssen Verrichtung ihrer Arbeit
 ben&ouml;tigen.
<div class="crlf2"></div>
N&auml;heres zu den globalen Variablen finden sie im n&auml;chsten Tutorial.
</div>
<div class="crlf2"></div>
&#160;&#160;&#160;<a href="index.htm"><img src="../../../../pics/nav_up.png" alt="aufw&auml;rts" width="20" height="20" border="0" title="aufw&auml;rts" /></a>
&#160;&#160;&#160;<a href="0103.htm"><img src="../../../../pics/nav_bk.png" alt="zur&uuml;ck" width="20" height="20" border="0" title="zur&uuml;ck" /></a>
&#160;&#160;&#160;<a href="0300.htm"><img src="../../../../pics/nav_fw.png" alt="vorw&auml;rts" width="20" height="20" border="0" title="vorw&auml;rts" /></a>
<div class="crlf1"></div>
</body>
</html>
